﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ch05
{
    class Class12
    {
        static void Main(string[] args)
        {
            /*
            1
            1   1
            1   2   1           
            1   3   3   1
            1   4   6   4   1
            1   5  10  10   5   1
            */
            
            Console.Write("请输入行数：");
            int row = int.Parse(Console.ReadLine());
            /*
            //根据行数创建对应的二维数组
            int[,] n = new int[row, row];

            //计算杨辉三角
            //外循环一次，给整一行赋值
            for (int i = 0; i < row; i++)
            {
                //第一个数以及最后一个都是1
                n[i, 0] = 1;
                n[i, i] = 1;
                //通过计算将杨辉三角其他的数存入二维数组
                //内循环一次，给当前行的某个元素(某一列)赋值
                for (int j = 1; j < i; j++)
                {
                    //上一行的当前位置的数加上它前一个位置数
                    n[i, j] = n[i - 1, j] + n[i - 1, j - 1];
                }
            }
            //输出杨辉三角
            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    Console.Write(n[i,j]+"\t");
                }
                Console.WriteLine();
            }
            */
            List<int> list = new List<int>();
            Console.WriteLine(1);
            list.Add(1);
            for (int i = 1; i < row; i++)
            {
                Console.Write(1 + "\t");
                int temp = 1;
                for (int j = 1; j < i; j++)
                {
                    int old = list[j];
                    list[j] += temp;
                    temp = old;
                    Console.Write(list[j] + "\t");
                }
                list.Add(1);
                Console.WriteLine(1);
            }

        }
    }
}
